<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html>
<head>
<title>Apache Derby tutorial</title>
<link rel="stylesheet" href="/cfg/format.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="keywords" content="Apache Derby, Java DB, database, tutorial, command line tool">
<meta name="description" content="This is Apache Derby tutorial. In this tutorial, you
will learn the fundamentals of the Apache Derby database system.">
<meta name="language" content="en">
<meta name="author" content="Jan Bodnar">
<meta name="distribution" content="global">

<script type="text/javascript" src="/lib/jquery.js"></script>
<script type="text/javascript" src="/lib/common.js"></script>

<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-5536206-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>

<body>

<div class="container">

<div id="wide_ad" class="ltow">
<script type="text/javascript"><!--
google_ad_client = "pub-9706709751191532";
/* 160x600, August 2011 */
google_ad_slot = "2484182563";
google_ad_width = 160;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>

<div class="content">

<a href="/" title="Home">Home</a>


<h1>Apache Derby tutorial</h1>

<p>
This is Apache Derby tutorial. This tutorial will cover the Derby
database engine, the SQL understood by the Derby and programming
Derby with the JDBC API. 
</p>

<h2>Table of Contents</h2>

<ul>
    <li><a href="derby/">Introducing Derby</a></li>
    <li><a href="install/">Installation &amp; configuration</a></li>
    <li><a href="tools/">Tools</a></li>
    <li><a href="ij/">The ij tool</a></li>
    <li><a href="sql/">SQL</a></li>
    <li><a href="jdbc/">Programming with JDBC</a></li>
    <li><a href="sec/">Security</a></li>
    <li><a href="tomcat/">Working with Tomcat</a></li>
    <li><a href="netbeans/">Derby with Netbeans</a></li>
</ul>

<h2>Derby</h2>

<p>
Derby is a database engine written in Java language. It has a relatively
small footprint of 2-3MB. It works in two modes. In embedded or client-server
mode. 
</p>

<p>
Derby has roots in 1996 as JBMS. Later it was renamed to Cloudscape. 
In 1999 the company developing Cloudscape was bought by Informix, which
was later acquired by IBM. In 2004 IBM contributed the code to the 
Apache Software Foundation. The Derby project was born. Sun joined
the project and included the Derby in Java 6. The project is rebranded
as Java DB in JDK. 
</p>


<h2>Similar tutorials</h2>

<p>
The <a href="/db/sqlite/">SQLite tutorial</a> covers the SQLite embedded
database engine. The <a href="/databases/mysqltutorial/">MySQL tutorial</a> is dedicated 
to the most popular open source relational database management system, the MySQL. 
</p>

<div class="g-plusone"></div>

<div class="footer">

<div class="signature">
<a href="/">ZetCode::</a> last modified March 6, 2012 <span class="copyright">&copy; 2007 - 2013 Jan Bodnar</span>
</div>
</div> 

</div> <!-- content -->

</div> <!-- container -->

</body>
</html>
